import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt #其中有许多常量
 
 
class QSpinBoxDemo(QWidget):
    def __init__(self):
        super(QSpinBoxDemo,self).__init__()
        self.initUI()
 
 
    def initUI(self):
        ####################################### 窗口设置
        self.setWindowTitle('QSliderDemo')
        self.resize(350,120)
        #垂直布局
        layout=QVBoxLayout()
        ########################################   控件
        self.label=QLabel('当前值')
        self.label.setAlignment(Qt.AlignCenter)
 
        self.sb=QSpinBox()
        #默认值
        self.sb.setValue(18)
        #设置范围
        self.sb.setRange(10,38)
        #设置步长
        self.sb.setSingleStep(3)
        ####################################### 信号与槽
        self.sb.valueChanged.connect(self.valueChange)
 
        #######################################  组装
        layout.addWidget(self.label)
        layout.addWidget(self.sb)
        self.setLayout(layout)
 
    def valueChange(self):
        self.label.setText('当前值：'+str(self.sb.value()))
 
 
if __name__=='__main__':
    app=QApplication(sys.argv)
    main=QSpinBoxDemo()
    main.show()
    sys.exit(app.exec_())
